Višja dinamika

Periodično vzbujanje

Dr. Janko Slavič, Marec 2013

Harmonično vzbujanje

Remove["Global`*"]

Reševanje gibalne enačbe

Normirana gibalna enačba vsiljenega nihanja

eq=x''[t]+((ω0)^2) x[t]==f0 Sin[ω t];

Pričakovana rešitev v ustaljenem stanju (partikularna rešitev)

xp:=X Sin[ω t -φ]

Kjer je:

X:=X0 β;X0:=(f0/((ω0)^2));

β:=(Sqrt[(1/((((1-((((ω/(ω0))))^2)))^2)+(((2δ (ω/(ω0))))^2)))]);
φ:=If[δ==0,If[ω<ω0,0,π],ArcTan[((2 δ (ω/(ω0)))/(1-((((ω/(ω0))))^2)))]]

Periodično vzbujanje

Osnovna perioda in amplituda vzbujanja

T:=1;ω:=((2π)/T);f0:=1

Vzbujevalna sila (pospešek) v normirani obliki

f[t_]:=f0( UnitStep[t-(T/2)])

Plot[f[t],{t,0,2},Frame->True,Axes->False,PlotStyle->Thickness[0.01]]

Periodično vzbujanje

Zapis vzbujevalne sile z Fourierovo vrsto

Definicija cosinusnih in sinusnih členov

(Subscript[c, 0])=(2/T)Integrate[f[t],{t,0,T}]
(Subscript[c, j_])=(2/T)Integrate[f[t]Cos[j ω t],{t,0,T}]
(Subscript[s, j_])=(2/T)Integrate[f[t]Sin[j ω t],{t,0,T}]

(Subscript[c, j_])=Simplify[(Subscript[c, j]),{j∈Integers}]
(Subscript[s, j_])=Simplify[(Subscript[s, j]),{j∈Integers}]

Periodično vzbujanje

Aproksimacija vzbujanja

fA[t_,n_]:=((Subscript[c, 0])/2)+(∑_(j=1)^n)((Subscript[c, j])Cos[j ω t])+(∑_(j=1)^n)((Subscript[s, j])Sin[j ω t])

fA[t,10]

Manipulate[Plot[{f[t],fA[t,n]},{t,0,2},PlotStyle->{Thick,Red},Frame->True,Axes->False,PlotLabel->"N="<>ToString[n]],{n,1,20,1}]

Periodično vzbujanje

Iskanje rešitve - primer

Nastavek:

(Subscript[x, 0])[t_]:=((Subscript[c, 0])/2)(1/((ω0)^2))
(Subscript[xc, j_])[t_]:=(Subscript[Xc, j])Cos[j ω t-(Subscript[φc, j])]
(Subscript[xs, j_])[t_]:=(Subscript[Xs, j])Sin[j ω t-(Subscript[φs, j])]

Definirajmo amplitude

(Subscript[Xc, j_]):=((Subscript[c, j])/((ω0)^2))β[j ω]
(Subscript[Xs, j_]):=((Subscript[s, j])/((ω0)^2))β[j ω]

Dinamični faktor

Clear[β]
β[ω_]:=(1/(Sqrt[(((1-((((ω/(ω0))))^2)))^2)+(((2δ (ω/(ω0))))^2)]))

In fazo zamika. Potrebno paziti na nadresonančno vzbujanje; v primeru, da ni dušenja, se faza poveča na π.

Clear[φ]
φ[ω_]:=If[ω>ω0,π,0]+ArcTan[((2 δ (ω/(ω0)))/(1-((((ω/(ω0))))^2)))]
(Subscript[φc, j_]):=φ[j ω]
(Subscript[φs, j_]):=φ[j ω]

Periodično vzbujanje

Sestavljanje rešitve

xres[t_,ω0_,δ_,n_]:=(Subscript[x, 0])[t]+ Sum[(Subscript[xc, j])[t],{j,1,n}]+ Sum[(Subscript[xs, j])[t],{j,1,n}]

UporabiClenov:=10;

xres2[t_,ω0_,δ_]=xres[t,ω0,δ,UporabiClenov];
Manipulate[Plot[{f[t],fA[t,UporabiClenov],PovecajAmplitudo xres2[t,ω0,δ]},{t,0,2},PlotStyle->{Thick,Red,Black},Frame->True,Axes->False,PlotLabel->"Razmerje ω/ω0="<>ToString[N[ω/ω0]]],{{ω0,4π},0,10π},{δ,0,1},{{PovecajAmplitudo,1},0,100}]